var mssql = require('mssql')
var config = require('../config.js')

var dbHelper = {
    s: function (sql, cb, er) {
        mssql.connect(config.dbCfg).then(function (c) {
            new mssql.Request(c)
                .query(sql)
                .then(function (rows) {
                    c.close()
                    if (typeof cb == 'function') {
                        cb(rows)
                    }
                })
                .catch(function (err) {
                    c.close()
                    if (typeof er == 'function') {
                        er(err)
                    }
                })
        }).catch(function (err) {
            c.close()
            if (typeof er == 'function') {
                er(err)
            }
        })
    },
    qv: function (sql, v, cb, er) {
        var vtype
        mssql.connect(config.dbCfg).then(function (c) {
            var req = new mssql.Request(c)
            for (var p in v) {
                switch (typeof v[p]) {
                    case 'string':
                        vtype = mssql.NVarChar
                        break
                    case 'number':
                        vtype = mssql.Float
                        break
                    case 'object':
                        vtype = mssql.DateTime
                        break
                }
                req.input(p, vtype, v[p])
            }
            req.query(sql)
                .then(function (rows) {
                    c.close()
                    if (typeof cb == 'function') {
                        cb(rows)
                    }
                })
                .catch(function (err) {
                    c.close()
                    if (typeof er == 'function') {
                        er(err)
                    }
                })
        }).catch(function (err) {
            c.close()
            if (typeof er == 'function') {
                er(err)
            }
        })
    },
    q: function (sql, cb, er) {
        mssql.connect(config.dbCfg).then(function (c) {
            new mssql.Request(c)
                .query(sql)
                .then(function (rows) {
                    c.close()
                    if (typeof cb == 'function') {
                        cb(rows)
                    }
                })
                .catch(function (err) {
                    c.close()
                    if (typeof er == 'function') {
                        er(err)
                    }
                })
        }).catch(function (err) {
            c.close()
            if (typeof er == 'function') {
                er(err)
            }
        })
    }
}

module.exports = dbHelper